<?php
/**
 +------------------------------------------------------------------------------
 * ExAction控制器类
 +------------------------------------------------------------------------------
 * @category   内容管理
 * @package  导入产品价格
 * @subpackage  Action
 * @author   朝闻道 <admin@iic.cn>
 * @date 2013-10-19
 * @time  下午2:54:49
 +------------------------------------------------------------------------------
 */
class ExAction extends BaseAction{
﻿  
	/**
	 * 读取并分析exce
	 *@date 2013-10-19
	 *@time 下午2:55:38
	 *@param string $file 文件的绝对路径
	 *@param int $strt_row 文件内容的有效起始行数
	 *@param int $Sheet 第几个工作表
	 */
	function read_xls($file='',$start_row=2,$Sheet=0) {
	//读取并分析exce
		if (! file_exists ( $file )) {
			return '-'.__LINE__;
		}
		import("@.Com.PHPExcel",'','.php');
		//import("@.Com.PHPExcel.IOFactory",'','.php');
		import("@.Com.PHPExcel.Reader.Excel5", '','.php');
		import("@.Com.PHPExcel.Reader.Excel2007",'','.php');
		$PHPExcel = new PHPExcel ();
		$PHPReader = new PHPExcel_Reader_Excel2007 ();
		if (! $PHPReader->canRead ( $file )) {
			$PHPReader = new PHPExcel_Reader_Excel5 ();
			if (! $PHPReader->canRead ( $file )) {
				return '-'.__LINE__;
			}
		}
		$objPHPExcel = $PHPReader->load ( $file );
		$sheet = $objPHPExcel->getSheet ($Sheet); // 读取第一個工作表(编号从 0 开始)
		//$sheet = $objPHPExcel->getSheetByName ( $sheet ); // 读取第一個工作表(编号从 0 开始)
		$highestRow = $sheet->getHighestRow (); // 取得总行数
		$highestColumn = $sheet->getHighestColumn (); // 取得总列数
		$arr = array (
				1 => 'A',2 => 'B',3 => 'C',4 => 'D',
				5 => 'E',6 => 'F',7 => 'G',8 => 'H',9 => 'I',10 => 'J',11 => 'K',12 => 'L',
				13 => 'M',14 => 'N',15 => 'O',16 => 'P',17 => 'Q',18 => 'R',19 => 'S',20 => 'T',
				21 => 'U',22 => 'V',23 => 'W',24 => 'X',25 => 'Y',26 => 'Z');
		$column = array_search ( $highestColumn, $arr );
		//读取表中的数据
		$data = array ();
		for($x = $start_row; $x <= $highestRow + 1; $x ++) {
			for($i=0;$i<=15;$i++){
				$row = '';
				$row = $sheet->getCellByColumnAndRow ( $i, $x )->getValue ();
				$data[$x][$i]=trim($row);//不使用trim有可能获取到的是一个对象
			}
		}
		return $data;
	}//end read_xls
	
}//end ExAction